package com.sgb.kjwl.model.api;

import com.sgb.kjwl.model.entity.STFilterEntity;
import com.sgb.kjwl.model.entity.SearchMaterialEntity;
import com.sgb.kjwl.model.entity.SearchMaterialEntity3;
import com.sgb.kjwl.model.entity.request.MaterialFilterJson;
import com.sgb.kjwl.model.entity.request.MaterialFilterJson3;
import com.sgb.kjwl.model.entity.supplier3.DictEntity3;
import com.sgb.kjwl.model.entity.user.SearchSTEntity;
import com.swgk.core.base.model.entity.ListResponse;
import com.swgk.core.base.model.entity.BaseEntity;

import java.util.List;

import io.reactivex.Observable;
import retrofit2.http.Body;
import retrofit2.http.POST;
import retrofit2.http.Query;

/**
 * Description: 工程材料模块相关接口
 * Author zhengkewen
 * Time 2019/10/30
 */
public interface MaterialInterface {
    /***  工程材料开始 zkw ***/

    //获取工程材料筛选类别
    @POST("v1/app/material/buyer/categoryChoose")
    Observable<BaseEntity<List<DictEntity3>>> getMaterialFilterType(@Query("id") String id, @Query("areaCode") String areaCode);

    //获取工程材料筛选品名
    @POST("v1/app/material/buyer/itemChoose")
    Observable<BaseEntity<List<DictEntity3>>> getMaterialFilterName(@Query("id") String id, @Query("areaCode") String areaCode);

    //获取工程材料筛选仓储
    @POST("v1/app/material/buyer/goodsChoose")
    Observable<BaseEntity<List<DictEntity3>>> getMaterialFilterStore(@Query("areaCode") String areaCode);

    //获取工程材料筛选品牌
    @POST("v1/app/material/buyer/brandChoose")
    Observable<BaseEntity<List<DictEntity3>>> getMaterialFilterBrand(@Query("id") String id, @Query("areaCode") String areaCode);

    //获取工程材料筛选材质规格
    @POST("v1/app/material/buyer/materChoose")
    Observable<BaseEntity<List<DictEntity3>>> getMaterialFilterSpec(@Query("id") String id, @Query("areaCode") String areaCode);

    //获取工程材料距离选择条件数据
    @POST("v1/app/material/buyer/distanceChoose")
    Observable<BaseEntity<List<DictEntity3>>> getMaterialDistanceData();

    //获取工程材料价格选择条件数据
    @POST("v1/app/material/buyer/priceChoose")
    Observable<BaseEntity<List<DictEntity3>>> getMaterialPriceData();

    //获取工程材料列表
    @POST("v1/app/material/queryMaterialByCategory")
    Observable<BaseEntity<ListResponse<List<SearchMaterialEntity>>>> getMaterialList(@Body MaterialFilterJson materialFilterJson);

    //获取工程材料列表(现在商品列表)
    @POST("v1/app/material/buyer/goodsList")
    Observable<BaseEntity<ListResponse<List<SearchMaterialEntity3>>>> getMaterialList3(@Body MaterialFilterJson3 materialFilterJson);

    //商砼筛选
    @POST("v1/app/material/concreteChoose")
    Observable<BaseEntity<STFilterEntity>> getSTFilter(@Query("areaCode") String areaCode);

    /***  工程材料接口结束 zkw ***/
}

